<script>
    // 获取调用凭证Token

            /*
                一、概述

                            Token 是一种用于身份验证和授权的"加密字符串"，本质是服务端颁发的数字凭证，用于验证请求合法性并控制资源访问权限。

                            其核心价值包括：

                                ①、无状态话验证：  服务端无需存储用户会话，通过 Token 即可验证身份。

                                ②、权限精细化控制： 通过Token携带的 scope 字段控制接口调用范围。

                                ③、安全隔离：  避免直接传输 用户名、密码等敏感信息，降低数据泄露风险。

                            在抖音开放平台，Token 是调用API的必须凭证，根据业务场景分为 "用户级"、"企业级"、"应用级" 3类。
            */

            /*
                二、Token类别

                             token类型              定义                                  使用场景                             有效期                               是否需要用户授权

                        ①、client_token    由抖音开放平台颁发的"应用级"凭证，用于验证小     获取小程序基础信息、管理消息模板等       2小时
                                           程序身份，访问无需有用户授权的公共接口。         无需用户身份的操作。                   到期前需要通过相同流程重新获取               否


                        ②、access_token    由用户授权生成的"用户级"凭证，用于访问需要用户   获取用户OpenId、发送客服消息等          15天
                                           权限的接口(如用户数据、操作执行)                需用户授权的操作。                     到期先需通过 refresh_token续期              是
                                                                                                                             (refresh_token 有效期30天)

                        ③、biz_token       由抖音开放平台颁发的"企业级"凭证，用于           管理企业订单、处理私域用户消息等        30天
                                           验证企业资质，调用"需企业授权"的敏感接口。       经营能力接口。                         需定期审核企业资质(如营业执照、法人信息)     是(企业授权)
            */

            /*
                三、获取 client_token

                        1、前提条件

                                ①、已经在 "抖音开放平台" 注册并创建小程序

                                ②、在控制台的 【开发】---【开发配置】页面中获取 AppID (client_key) 和 AppSecret (client_secret)

                                        图示：

                                            https://p9-douyin-open.byteimg.com/tos-cn-i-9nona0m7ha/15972ae778a441b18386a920c735b338~tplv-9nona0m7ha-image.image

                        2、获取流程

                                ★、说明：

                                        ①、安全存储： 
                                                     AppSecret 和 client_token 属于敏感信息，必须存储在服务端，进制前端直接使用。

                                                      建议使用加密存储 (如 Redis+AES加密)

                                        ②、有效期管理：
                                                     client_token 有效期通常为2h，需设置定时任务刷新。

                                                     可通过 Redis的 EXPIRE命令自动管理过期时间。

                        ★、调用 "获取应用授权调用凭证" （https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/basic-abilities/interface-request-credential/non-user-authorization/get-client_token）
                            
                            向抖音开放平台发送请求，返回 client_token 及有效期。
            */

            /*
                四、获取access_token

                        1、前提条件

                                ①、已经在抖音开放平台注册并创建小程序

                                ②、在控制台的 【开发】---【开发配置】页面中获取AppID（client_key） 和 AppSecret(client_secret)

                                图示：

                                      https://p9-douyin-open.byteimg.com/tos-cn-i-9nona0m7ha/7214e51a51c34970b88d126789977b4a~tplv-9nona0m7ha-image.image
                                      
                        2、获取流程

                                        ★、说明：

                                                <1>、安全存储

                                                            AppSecret、access_token 和 refresh_token 属于敏感信息，必须加密存储在服务端

                                                            建议使用Redis或数据库存储，关联用户open_id.

                                                <2>、有效期管理：

                                                            access_token 有效期通常为2小时，需在调用前检查有效性。

                                                            refresh_token 有效期为30天，过期后需重新获取用户授权。

                                <1>、前端调用tt.login 获取用户授权code

                                <2>、服务端通过 code、app_id、app_secret,调用 "获取用户授权调用凭证"(https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/basic-abilities/interface-request-credential/user-authorization/get-user-access-token)

                                     来换取 access_token 和 refresh_token


                                <3>、access_token 过期后，调用 "刷新用户授权调用凭证"(https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/basic-abilities/interface-request-credential/user-authorization/refresh-user-access-token)

                                     来重新获取新的 access_token
                                    
            */

            /*
                 五、获取BusinessToken

                        1、前提条件

                                ①、企业资质认证需满足以下条件：

                                        a、在抖音开放平台完成企业主体认证

                                        b、提交营业执照、法人信息登资料

                                ②、应用类型需满足以下要求

                                        应用类型必须为【企业应用】 或 【商家应用】

                                        需在开放平台申请企业相关权限。

                                ③、在控制台的【开发】---【开发配置】页面获取AppID(client_key) 和 AppSecret(client_secret)

                                        图示：

                                            https://p9-douyin-open.byteimg.com/tos-cn-i-9nona0m7ha/c40c2b95ff674d8594a3c2ba4fdfe961~tplv-9nona0m7ha-image.image


                        2、获取流程

                                        ★、说明

                                                ①、安全存储

                                                        AppSecret 和 biz_token 属于敏感信息，必须存储在服务端，禁止前端直接使用。

                                                        建议使用加密存储(如 Redis+AES加密)

                                                ②、有效期管理

                                                        biz_token 有效期通常为30天，需设置定时任务刷新

                                                        可通过Redis的EXPIRE命令自动管理过期时间。

                                                ③、权限范围

                                                        返回的 scope 字段表示当前应用被授权的企业接口范围

                                                        如需很多权限，需在开放平台提交权限申请

                                <1>、前端调用 tt.login 获取用户授权 code。

                                <2>、服务端通过 code、app_id、app_secret ，调用 code2Session 获取 openid.

                                <3>、服务端通过　openid、app_id、app_secret ，调用 BusinessToken 生成获取 biz_token及有效期

                                <4>、biz_token 过期后调用 BusinessToken 刷新(https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/basic-abilities/interface-request-credential/business-token/refresh-business-token)
                                     
                                     来重新获取新的 biz_token
            */
</script>